10 CLR:PRINT"[147]":POKE53280,0:POKE53281,0 20 OPEN1,0:DIM NC(60),C2(110),N2(110),AB(40),AE(40) 25 GOSUB61000:PRINT"[147] "CHR$(142)CHR$(8) 30 PRINTTAB(7)"[176][174] [176][174]" 40 PRINTTAB(7)"[173][219][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][219][189]" 50 PRINTTAB(7)" [221] [158] ML RE-LOCATER [221] " 60 PRINTTAB(7)" [221] [221]" 70 PRINTTAB(7)" [221][159] BY:JEFF BABUSCHAK [221]" 80 PRINTTAB(7)"[176][219][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][219][174]" 90 PRINTTAB(7)"[173][189] [173][189]" 100 FORA=1TO20:PRINT"[209][158][209]";:NEXTA 110 GOSUB480 120 PRINT"PLEASE ENTER NEW STARTING ADDRESS:";:INPUT#1,NS$ 130 PRINT:PRINT"ARE YOU SURE? [Y/N/Q]:";:INPUT#1,S$:PRINT 140 NS=VAL(NS$):IFNS=0THEN120 145 IFS$="Q"THEN1400 150 IFS$<>"Y"ANDS$<>"N"THEN120 160 IFS$="N"THEN120 170 FORA=1TO20:PRINT"[209][158][209]";:NEXTA:PRINT 180 PRINT"DOES THIS PROGRAM CONTAIN DATA? [Y/N/M]:"; 190 INPUT#1,DA$ 200 IFDA$<>"Y"ANDDA$<>"N"ANDDA$<>"M"THEN180 210 PRINT:PRINT"ARE YOU SURE? [Y/N/Q]:";:INPUT#1,S$:PRINT 215 IFS$="Q"THEN1400 220 IFS$<>"Y"ANDS$<>"N"THEN210 230 IL=-1 240 IFS$="N"THEN180 250 IFDA$="M"THEN410 260 IFDA$="N"THEN410 270 IL=IL+1:PRINT"" 280 FORT=1TO14:PRINT" ";:NEXTT:PRINT 290 PRINT"" 300 FORA=1TO20:PRINT"[209][158][209]";:NEXTA:PRINT 310 PRINT"[145]ENTER BEGINNING ADDRESS:";:INPUT#1,AB$(IL):PRINT 320 PRINT"ENTER ENDING ADDRESS:";:INPUT#1,AE$(IL):PRINT 330 AB(IL)=VAL(AB$(IL)):AE(IL)=VAL(AE$(IL)) 340 PRINT"ARE YOU SURE? [Y/N/Q]:";:INPUT#1,S$:PRINT:PRINT"[145]"; 345 IFS$="Q"THEN1400 350 IFS$="Y"ANDAE(IL)=0ANDAB(IL)=0THEN401 360 IFAB(IL)>AE(IL)THEN290 361 IFAE(IL)"Y"ANDS$<>"N"THEN340 390 IFS$="N"THEN290 400 GOTO 270 401 PRINT:PRINT"[145][145]" 410 FORA=1TO20:PRINT"[209][158][209]";:NEXTA:PRINT:PRINT"[145][145]"; 420 FORT=0TOIL:AB(T)=ABS(VAL(AB$(T))-SA):AE(T)=ABS(VAL(AE$(T))-SA):NEXTT 430 PRINT"ENTER NAME OF DESTINATION FILE:";:INPUT#1,D$:PRINT 440 PRINT"[145]";:FORA=1TO20:PRINT"[209][158][209]";:NEXTA:PRINT 450 CLOSE1:OPEN1,8,1,"@0:"+D$+",P,W":HI=INT(NS/256):LO=NS-(HI*256) 460 PRINT#1,CHR$(LO);:PRINT#1,CHR$(HI); 470 MP=11000:MR=12000:GOTO570 480 REM *** DISK ROUTINE *** 490 PRINT"ENTER NAME OF ML FILE:";:INPUT#1,F$:IFF$="Q"THEN1400 500 PRINT:FORA=1TO20:PRINT"[209][158][209]";:NEXTA:PRINT 510 OPEN2,8,2,"0:"+F$:OPEN15,8,15:INPUT#15,A$,B$,C$,D$:IFVAL(A$)>0THEN1260 520 GET#2,LO$:GET#2,HI$:LO=ASC(LO$+CHR$(0)):HI=ASC(HI$+CHR$(0)) 530 SA=HI*256+LO 540 PRINT"[145]STARTING ADDRESS IS:"SA 550 PRINT:PRINT"[145][145]":FORA=1TO20:PRINT"[209][158][209]";:NEXTA:PRINT 560 RETURN 570 REM *** SET-UP *** 580 IL=0:READ NC(D) 590 IFNC(D)=999THEN610 600 D=D+1:GOTO580 610 READ C2(D2),N2(D2) 620 IFC2(D2)=999THEN640 630 D2=D2+1:GOTO610 640 EA=0 650 EA=EA+1:GET#2,X$:DA=ASC(X$+CHR$(0)):POKEEA+MR-1,DA:IFST<>0THENCLOSE2 660 IFST=0THEN650 670 R=EA+1 680 IFDA$="N"ORDA$="Y"THEN810 690 REM *** CHECK FOR DATA *** 700 DA=PEEK(MR+L+YY):FORC=0TOD:IFNC(C)=DATHENNG=NG+3:YY=YY+2 710 NEXTC:YY=YY+1:IFYY<5THEN700 720 YY=0:PRINT"[158]"L 730 DA=PEEK(MR+L+YY):FORC=0TOD2 740 IFC2(C)=DAANDN2(C)=2THENNG=NG+2:YY=YY+1 750 IFC2(C)=DAANDN2(C)=1THENNG=NG+1 760 NEXTC:YY=YY+1:IFYY<5THEN730 770 IF(NG/YY)<1THENFORT=1TOYY:POKEMP+L,PEEK(MR+L):L=L+1:NEXTT:L=L-1 780 IF(NG/YY)<1ANDL=RTHEN1350 800 NG=0:OL=L:YY=0 810 REM *** RELOCATION ROUTINE *** 820 IFL=>AB(IL)THENDI=(AE(IL)-AB(IL)) 830 IFL=>AB(IL)THENFORT=0TODI:POKE(MP+AB(IL)+T),PEEK(MR+AB(IL)+T):NEXT 840 IFL=>AB(IL)THENIL=IL+1:L=T+L 850 XY=0:PRINT"[158]";L:DA=PEEK(L+MR):FORC=0TOD 860 IFNC(C)=DATHENGOSUB960 870 NEXTC:IFXY=3THEN930 880 XY=0:DA=PEEK(MR+L):FORG=0TOD2 890 IFC2(G)=DAANDN2(G)=1THENPOKEMP+L,DA:L=L+1:XY=1 900 IFC2(G)=DAANDN2(G)=2THENPOKEMP+L,DA:L=L+1:POKEMP+L,PEEK(MR+L):L=L+1:XY=2 910 NEXTG 920 IFXY=0THENPOKEMP+L,DA:L=L+1 930 IFL>=RTHEN1350 940 IFDA$="M"AND(L-OL)>=3THEN700 950 GOTO820 960 REM *** PROCESS 3 BYTE COMMS. *** 970 XY=3:L1=PEEK(L+MR+1):H1=PEEK(L+MR+2):N=H1*256+L1 975 IFNSA+EA+1THENPOKEMP+L,DA:POKEMP+L+2,H1:POKEMP+L+1,L1:L=L+3:RETURN 980 IFN>53247ORN<2048THENPOKEMP+L,DA:POKEMP+L+2,H1:POKEMP+L+1,L1:L=L+3:RETURN 990 IFN<49152ANDN>40959THENPOKEMP+L,DA:POKEMP+L+2,H1:POKEMP+L+1,L1:L=L+3:RETURN 1000 POKEMP+L,DA:IFNS>=SATHENNJ=(H1*256+L1)+(NS-SA):IFNJ>65280THENN=53248:GOTO980 1010 IFNS64THENPOKE198,0:RUN 1340 GOTO1330 1350 REM *** CLOSE DISK *** 1360 FORA=0TOEA:PRINT#1,CHR$(PEEK(MP+A));:NEXTA 1370 PRINT#1,CHR$(0);CHR$(0);CHR$(0);CHR$(0):CLOSE1:CLOSE2:CLOSE15 1380 PRINT"[147]"TAB(18)"DONE!":GOTO1410 1400 CLOSE1:CLOSE2:CLOSE15:PRINT"[147][159]" 1410 PRINTTAB(8)"SPACE[159] - RUN THE PROGRAM AGAIN" 1420 PRINTTAB(8)" L [159] - RETURN TO LOADSTAR" 1430 GETA$:IFA$<>" "ANDA$<>"L"THEN1430 1440 IFA$=" "THENRUN 1450 OPEN15,8,15,"R0:HELLO CONNECT=HELLO CONNECT":INPUT#15,ER%:CLOSE15 1460 IFER%<>63THENEND 1470 PRINT"[147][144]LOAD"CHR$(34)"HELLO CONNECT"CHR$(34)",8" 1475 PRINT"[144]RUN" 1480 POKE631,13:POKE632,13:POKE198,2 1500 NEW 61000 POKE214,15:PRINT"" 61110 PRINT" [155][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184]" 61120 PRINT" [152] " 61130 PRINT"  " 61140 PRINT"  " 61150 PRINT"  [208]UBLISHED ON [204][207][193][196][211][212][193][210] #61 " 61160 PRINT"  [211]UBSCRIPTIONS 1-800-831-2694 " 61170 PRINT"  [195][200][193][206][199][201][206][199][160][212][200][201][211][160][206][207][212][201][195][197][160][201][211][160][201][204][204][197][199][193][204] " 61180 PRINT"  " 61190 PRINT" [151][185][185][185][185][185][185][185][185][185][185][185][185][185][185][185][185][185][185][185][185][185][185][185][185][185][185][185][185][185][185][185][185][185][185][185][185]" 61200 AU$="[205][204] [210]ELOCATER":POKE214,17:PRINT:PRINTSPC(20-LEN(AU$)/2)"[152]"AU$ 61210 AU$="[194]Y [202]EFF [194]ABUSCHAK ([195]) 1989":POKE214,18:PRINT 61220 PRINTSPC(20-LEN(AU$)/2)"[152]"AU$"" 61230 PRINT"" 61240 PRINTTAB(10)"[159][205] [204] [210] [197] [204] [207] [195] [193] [212] [197] [210]" 61245 PRINT"[154] FROM [195]OMMODORE [205]AGAZINE - [202]UNE 1989" 61247 PRINT" [197]NTER [209] AT MOST PROMPTS TO QUIT. 61250 QW[178]QW[170]1:[161]A$:[139]A$[178]""[175]QW[179]200[167]61250 61260 [142]